<?php
class BloqueosMapper {
  private static $instance;

  private function __construct() {
  }

  public static function getInstance() { //metodo Singleton
    if (!isset(self::$instance)) {
      $c = __CLASS__;
      self::$instance = new $c;
    }
    return self::$instance;
  }

  public function updateBloqueos($s, $pid) {
    DataBase::getInstance();
    foreach ($s as $elem) {
      if ($elem["do"] == "nuevo") {
	$query = "INSERT INTO BloqueaMensajes
                  VALUES ('{$elem['pid']}', '{$pid}')";
	echo $query;
	mysql_query($query);
      } else if ($elem["do"] == "eliminar") {
	$query = "DELETE FROM BloqueaMensajes
                  WHERE bloqueado='{$elem['pid']}'
                  AND bloqueador='{$pid}'";
	mysql_query($query);
      }
    }
  }

  public function bloqueaMensajes($bloqueador, $bloqueado) {
    DataBase::getInstance();
    $query = "SELECT bloqueado FROM BloqueaMensajes WHERE
              bloqueado='{$bloqueado}' AND bloqueador='{$bloqueador}'";
    $res = mysql_query($query);
    return (mysql_num_rows($res)==1);
  }

  public function perfilesBloqueados($pid) {
    DataBase::getInstance();
    $query = "SELECT bloqueado FROM BloqueaMensajes WHERE bloqueador='{$pid}'";
    $res = mysql_query($query);
    $pids = array();
    while ($row = mysql_fetch_assoc($res)) {
      $pids[] = $row["bloqueado"];
    }
    return $pids;
  }
}
?>